<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    // js中大部分程序都是同步执行
    // alert(1);
    // alert(2);
    // alert(3);
    // alert(4);

    // js中的异步
    // 1. 事件
    // var a = 10;
    // document.onclick = function(){
    //     a = 20;
    // }
    // console.log(a);


    // 2. 计时器
    // var a = 10;
    // setTimeout(() => {
    //     a = 20;
    // }, 1000);
    // console.log(a);

    // 宏任务
    // var a = 10;
        
    // setTimeout是宏任务
        // setTimeout的回调函数是异步执行，被抛到微任务身上，设定了一个时间0毫秒
    // setTimeout(() => {
    //     a = 20;
    // }, 0);

    // 宏任务
    // console.log(a);

    // 比较消耗性能的宏任务


    // 3. ajax


    // 4. promise



    // 1
    setTimeout(()=>{
        // 比较消耗性能的宏任务
    }, 0)
    // 2


</script>
</html>